// pages/personalCenter/recruitForm/recruitForm.js
var toLog = require('../../../module/toLog');
var app = getApp();
//页面要显示的表
var allForm = [];
//当前操作的是第几项
var nowFormNum = '';
Page({
    /**
     * 自定义函数
     */
    //获取所有表单数据并刷新页面
    getAllForm: function () {
        var that = this;
        wx.request({
            url: `https://wx.jingqi.ink/wxapp/form/${app.globalData.user_info.user_id}/*`,
            method: 'GET',
            success: function (res) {
                //将页面要显示的表清空
                allForm = [];
                for (var i = 0; i < res.data.length; i++) {
                    allForm[i] = JSON.parse(res.data[i].form_ctx);
                    if (res.data[i].form_push == 0) {
                        allForm[i][0].publish_state = '未发布';
                    } else if (res.data[i].form_push) {
                        allForm[i][0].publish_state = '已正式发布';
                    }
                }
                /**
                 * 排序部分
                 */
                //把时间设置为数字用来排序
                for (var j = 0; j < allForm.length; j++) {
                    allForm[j][0].sort_id = parseInt(allForm[j][0].form_id.slice(1));
                }
                //按时间降序
                allForm.sort(function (a, b) {
                    return b[0].sort_id - a[0].sort_id;
                });
                //把所有表单赋值给页面变量
                that.setData({
                    all_form: allForm
                });
            }
        })
    },

    //初始化页面数据
    pageInit: function () {
        var that = this;
        wx.setNavigationBarTitle({
            title: '查看我的招新表'
        });
        //获取所有表单数据并刷新页面
        this.getAllForm();
    },

    /**
     * 页面函数
     */

    //新建一个招新表
    new_form_confirm: function () {
        this.setData({
            new_form_visible: !this.data.new_form_visible
        })
    },

    //返回
    new_form_cancel: function () {
        this.setData({
            new_form_visible: !this.data.new_form_visible
        })
    },

    //选择进入某项功能
    new_form_click: function (e) {
        this.setData({
            new_form_visible: !this.data.new_form_visible
        })
        switch (e.detail.index) {
            case 0:
                app.globalData.user_form = '';
                wx.navigateTo({
                    url: './form/form',
                });
                toLog('003001');
                break;
            case 1:
                wx.navigateTo({
                    url: './demo/demo',
                });
                toLog('003002');
                break;
        }
    },

    //长按进入招新表的选项
    click_one_form: function (e) {
        nowFormNum = e.currentTarget.id;
        this.setData({
            show_all_form: !this.data.show_all_form
        });
    },

    //招新表选项推出
    all_form_cancel: function () {
        this.setData({
            show_all_form: !this.data.show_all_form
        })
    },

    //选择的是哪一项招新表选项
    all_form_click: function (e) {
        this.setData({
            show_all_form: !this.data.show_all_form
        });
        var that = this;
        var index = e.detail.index;
        switch (index) {
            case 0:
                if (allForm[nowFormNum][0].publish_state == '未发布') {
                    wx.showModal({
                        title: '提示',
                        content: '这给表单还未发布，没有数据',
                        confirmText: '我知道了',
                        showCancel: false
                    })
                } else {
                    app.globalData.temp = allForm[nowFormNum][0].form_id;
                    wx.navigateTo({
                        url: './content/content',
                    });
                    toLog('003003');
                }
                break;
            case 1:
                wx.showModal({
                    title: '提示',
                    content: '查看报表功能暂未开放',
                    confirmText: '我知道了',
                    showCancel: false
                })
                toLog('003004');
                break;
            case 2:
                app.globalData.user_form = allForm[nowFormNum];
                wx.navigateTo({
                    url: './form/form',
                })
                toLog('003005');
                break;
            case 3:
                wx.request({
                    url: `https://wx.jingqi.ink/wxapp/publish_form/${allForm[nowFormNum][0].form_id}`,
                    method: 'GET',
                    success: function (res) {
                        wx.showToast({
                            title: '已发布',
                            success() {
                                that.getAllForm();
                                toLog('003006');
                            }
                        })
                    }
                })
                break;
            case 4:
                if (allForm[nowFormNum][0].publish_state == '未发布') {
                    wx.showModal({
                        title: '提示',
                        content: '当前表单未发布，不可撤销发布，可直接删除',
                        confirmText: '我知道了',
                        showCancel: false
                    })
                } else {
                    wx.showModal({
                        title: '警告',
                        content: '确认撤销发布？撤销后可再次发布。撤销后用户将无法填写，但用户之前填写的数据将保留',
                        confirmText: '删除',
                        confirmColor: '#FF0000',
                        cancelText: '返回',
                        success(res) {
                            if (res.confirm == true) {
                                //撤销发布
                                wx.request({
                                    url: `https://wx.jingqi.ink/wxapp/delete_forming/${allForm[nowFormNum][0].form_id}`,
                                    method: 'GET',
                                    success(res) {
                                        that.getAllForm();
                                        toLog('003007');
                                    }
                                })
                            }
                        }
                    })
                }
                break;
            case 5:
                wx.showModal({
                    title: '警告',
                    content: '确认删除表单？删除后不可恢复！如果删除的是正在发布的表单，将丢失所有报名信息，用户将无法填写。若只想取消发布，请点击[撤销发布]',
                    confirmText: '删除',
                    confirmColor: '#FF0000',
                    cancelText: '返回',
                    success(res) {
                        if (res.confirm == true) {
                            wx.showModal({
                                title: '再次警告！！！',
                                content: '确认删除表单？删除后不可恢复！如果删除的是正在发布的表单，将丢失所有报名信息，用户将无法填写。若只想取消发布，请点击[撤销发布]',
                                confirmText: '确认删除',
                                confirmColor: '#FF0000',
                                cancelText: '返回',
                                success(res) {
                                    if (res.confirm == true) {
                                        //先撤销发布
                                        wx.request({
                                            url: `https://wx.jingqi.ink/wxapp/delete_forming/${allForm[nowFormNum][0].form_id}`,
                                            method: 'GET',
                                            success(res) {
                                                //再从列表删除
                                                wx.request({
                                                    url: `https://wx.jingqi.ink/wxapp/delete_form/${allForm[nowFormNum][0].form_id}`,
                                                    method: 'GET',
                                                    success(res) {
                                                        that.getAllForm();
                                                        toLog('003008');
                                                    }
                                                })
                                            }
                                        })
                                    }
                                }
                            })
                        }
                    }
                })
                break;
            case 6:
                wx.showModal({
                    title: '提示',
                    content: '存为模板功能暂未开放',
                    confirmText: '我知道了',
                    showCancel: false
                })
                toLog('003009');
                break;
        }
    },
    /**
     * 页面的初始数据
     */
    data: {
        //新建招新表项目
        new_form_visible: false,
        new_form_content: [{
            name: '新建一个'
        }, {
            name: '从模板里选择一个'
        }],
        //招新表选项
        show_all_form: false,
        all_form_content: [{
            name: '查看数据',
        }, {
            name: '查看报表'
        }, {
            name: '编辑表单'
        }, {
            name: '正式发布'
        }, {
            name: '撤销发布'
        }, {
            name: '删除表单'
        }, {
            name: '存为模板'
        }]
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        wx.hideShareMenu({});
        //初始化页面数据
        this.pageInit();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})